1.14.10 外部系统对接

1.说明:

E聊H5移动端支持外部系统的接入,支持与外部系统的互联互通.

2.接入方式

外部系统到E聊: H5支持通过URL跳转的方式实现隐性登录,实现业务系统与E聊的用户系统打通

E聊到外部系统: E聊通过URL跳转到外部系统时,携带用户的账号与登录凭证

2.1 外部Web系统接入E聊H5移动端

场景: 客户已有一个在运营的业务系统,需要将聊天业务接入, 实现业务系统与E聊的用户系统打通

实现参考如下:

image-20220512092321903

流程说明:

  1. 调用接口admin登录,获取jwt.(后台接口)
  2. 调用接口注册一个新账号(后台接口)
  3. 使用该新账号在业务系统预登录, 获取用户jwt.(前端)
  4. 跳转到echat h5 页面, 并将用户账号auid, 用户凭证, 登录方式通过url 传值.
  5. echat h5 端完成自动登录,跳转到聊天界面.

通过传递jwt的方式有效地避免了用户密码等敏感信息对外暴露的风险.

相关API格式如下:

admin登录,获取jwt(admin权限, 不要传到客户端使用)

// admin登录,获取jwt
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ 
   "email": "183186147%40qq.com", \ 
   "password": "123456" \ 
 }' 'http://localhost:8082/v1/admin_login/sdk_user_login'

参数说明:

参数名 取值
email 登录邮箱地址
password 登录密码

返回值: jwt

注册账号:

// 注册账号, authorization 值的格式为:admin+空格+jwt
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'authorization: admin eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJzZGtVc2VySnd0IiwiU0RLX1VJRCI6IjEiLCJOQU1FIjoia29uZ2R6cSIsIlJPTEUiOiJBRE1JTiIsImV4cCI6MTY1Mjg1MDQwN30.bbfKVGT-3KZu19xrzs4zb_TmGKSCUku_UE7cuo8ECB-GYSuVOzB_579nP20M-DRAR7yOT4tqgGaPHgZdD8PeIA'  -d '{ \ 
   "appKey": "TSDKTEST00001", \ 
   "auid": "13900139000", \ 
   "token": "123456", \ 
   "avatar": "", \ 
   "birth": "", \ 
   "businessPlatform": "SOCIAL", \ 
   "email": "", \ 
   "ex": "{}", \ 
   "gender": 1, \ 
   "mobile": "13900139000", \ 
   "name": "注册的用户名", \ 
   "sign": "", \ 
   "userType": "USER" \ 
 }' 'http://8.134.89.229/v1/user/add'

参数说明:

参数名 取值 是否必填
appKey 固定为TSDKTEST00001
mobile 要注册的账号的手机号
auid 要注册的账号
token 要注册的账号密码
name 要注册的账号名称
businessPlatform 业务平台标识(SOCIAL:社交版)
userType 用户类型(USER:普通用户)
avatar 用户头像, url地址
birth 用户生日
email 用户邮箱地址
ex 用户拓展属性, 字符串格式

用户预登录, 获取客户端登录jwt, 该jwt仅有当前用户的权限(客户端接口)

// 用户预登录
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \ 
   "appKey": "TSDKTEST00001", \ 
   "loginAccount": "13800138001", \ 
   "password": "123456" \ 
 }' 'http://localhost:8082/v1/user_auth/pre_login'

参数说明:

参数名 取值
appKey 固定为TSDKTEST00001
loginAccount 登录账号auid
password 登录密码

返回值: jwt

之后使用参数跳转到移动端H5

url格式如下:
http://192.168.30.181:8080/?jwt=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ1c2VySnd0IiwiQVBQX0tFWSI6IiIsIlVTRVJfQVVJRCI6IjEzODAwMTM4MDAwIiwiZXhwIjoxNjUyODQ2Mjc4fQ.zCWuu-VZCi8lPcopV7yff5NU-JhS0ao_tp53Czw3x2wYMQlHAXP8RpnrTxeFXiocUHvyUXvcxKQugZqaoxgWzA&auid=13800138000&login_way=PRE_LOGIN&locale=en-US

URL参数说明:

参数名 取值 是否必填
jwt 用户登录凭证
auid 用户登录账号
login_way PRE_LOGIN
locale 后端API多语言支持(en-US:英文 zh-CN:中文)

2.1 E聊移动端接入外部业务系统

在E聊移动端的"发现页",可以在E聊管理台动态配置发现页的条目:

img

配置好的发现页条目会在移动端显示: img

业务系统二次开发:

当为“发现页”条目配置了"URL传递登录信息"一项后,跳转到业务系统时,URL通过参数会携带用户的auid, 用户的登录凭证jwt,业务系统通过该登录凭证可以实现API开发,按需获取该用户信息在E聊后台的数据。

客户端API的开发请查看【专业版文档-后端HTTP API】一文.

URL传递登录信息参数说明:

参数名 取值
jwt 当前账号数字凭证jwt, 仅具有当前登录账号的权限
auid 当前账号auid

results matching ""

    No results matching ""